package main

import (
	"fgo/advance/db/gorm/models"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"log"
	"time"
)

func main() {
	db := models.NewDb()
	defer db.Close()

	// 自动迁移模式
	db.AutoMigrate(&models.Animal{})

	//创建数据测试
	// Name 使用默认值
	animal := models.Animal{Age: 16, Created_At: time.Now(), Updated_at: time.Now()}

	// => 主键为空返回`true`
	log.Printf("%+v", db.NewRecord(animal))
	// 先插入,后查询
	// INSERT  INTO `animal` (`age`,`created_at`,`updated_at`) VALUES (16,'2019-08-10 11:16:14','2019-08-10 11:16:14')
	// SELECT `name` FROM `animal`  WHERE (id = 1003)
	log.Printf("%+v", db.Create(&animal))
	// => 创建`animal`后返回`false`
	log.Printf("%+v", db.NewRecord(animal))
	// 插入成功之后原始模型添加主键值
	log.Printf("%+v", animal) // {ID:1005 ..... }
}
